*** OPEN LOG/OUTPUT FILE ***

log using "C:\Users\gk57526\Dropbox\Executive Particularism (Matt Zarit)\Contract Duration\May 2020\Output Files\Selling_Out.OMIT SET ASIDE CASES.06-01-2021.smcl", replace





*** MODELING CONTRACT LENGTH FOR GIVEN CONTRACTUAL DESIGNS FOR U.S. FEDERAL PROCUREMENTS [SUPPLY & COST STRUCTURES] EXCEEDING FAR SIMPLE REQUIREMENTS ***



**** ACCESS DATABASE ***

use "C:\Users\gk57526\Dropbox\Executive Particularism (Matt Zarit)\Contract Duration\May 2020\zarit_contractingdata_duration.FAR threshold.05-29-2021.GAK.dta", replace





*** GENERATE SET ASIDE DUMMY ***

tab typeofsetaside
*
encode typeofsetaside, gen(setasidenumeric)
*
tab setasidenumeric, nolab
*
*
*

gen set_aside=.

replace set_aside=0 if typeofsetaside2=="NONE: NO SET ASIDE USED."

replace set_aside=0 if typeofsetaside2==":"

replace set_aside=1 if typeofsetaside2 !="." & set_aside !=0




******* PLEASE NOTE, THIS ANALYSIS IS THE SAME AS THE MANUSCRIPT MODELS, EXCEPT ONLY ANALYZING "SET ASIDES" FOR PURPOSES OF DIVERSITY AND INCLUSION [SET_ASIDE == 1] *********



***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************



*** PART II ANALYSES: CHOICE OF CONTRACT STRUCTURE [PROBIT REGRESSIONS ANALYZING VARIOUS COMBINATIONS OF CONTRACT STRUCTURES: SUPPLY & COST STRUCTURE COMBINATIONS]





***  LOW RISK CONTRACTUAL DESIGNS FROM U.S. FEDERAL GOVERNMENT'S PERSPECTIVE AS A "BUYER" **



** 1. FULLY BENEFICIAL TERMS FOR BUYER/AGENCY EFFECTIVE: **
**    MULTIPLE/COMPETITIVE BIDS  & FIXED COST CONTRACTS [COST PLUS, TIME & MATERIALS, & LABOR] [N = 1,095,724] ***

probit m11 c.agency_packing##execlevel##pol_align  c.agency_packing##execlevel##pol_opposed  perc_prof  selin1_abszero  selin2_abszero unified lnannualrevenue_adj house_app house_ways house_majority  close_congelect_dist   dod  dc_area goods_services lnvendorsum_adj lndollarsobligated_adj  pres_donor_pac lnpres_donor_pac_amount_adj   i.agency yearfe2 yearfe3 yearfe4 yearfe5 yearfe6 yearfe7 yearfe8 yearfe9 yearfe10 yearfe11 yearfe12 yearfe13 yearfe14 yearfe15 yearfe16   i.psc_id   if set_aside==0, vce(cluster agency)
*
estat ic
*


*** FIGURES A3.2 & A3.3 ***



*** A3.1.1 PRESIDENTIAL ALIGNED AGENCIES: EVALUATED AT 10TH PCTILE [LOW POLITICIZATION] & 90TH PCTILE [HIGH POLITICIZATION] VALUES OF WITHINAGENCY_PACKING ///
***     [N = 153,728] ***

* Compute within-agency & overall distribution of agency_packing 'moderator' covariate *
*
*
sum withinagency_packing if e(sample) & pol_align==1, detail
*
sum agency_packing if e(sample) & pol_align==1, detail
*
* 
** Compute Marginal Effects at Three Distinct Values of Within-Agency Distribution of agency_packing 'moderator': ///
** 10th Percentile (LOW)  & 90TH Percentile [HIGH]

* IDEOLOGICALLY ALIGNED AGENCIES: LOW APPOINTEE POLITICIZATION -- COMPARING NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [1 & 2] * 
margins ,  at(agency_packing = (-0.0641362)) over(execlevel) subpop(if pol_align==1) 
margins ,  at(agency_packing = (-0.0641362)) over(execlevel) subpop(if pol_align==1)  level(90)
*
* IDEOLOGICALLY ALIGNED AGENCIES: LOW APPOINTEE POLITICIZATION -- PREDICTED PROBABILITY DIFFERENCE BETWEEN NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [3]* 
margins ,  at(agency_packing = (-0.0641362)) over(execlevel) subpop(if pol_align==1) pwcompare
margins ,  at(agency_packing = (-0.0641362)) over(execlevel) subpop(if pol_align==1) pwcompare level(90)
*
*
*
* IDEOLOGICALLY ALIGNED AGENCIES: HIGH APPOINTEE POLITICIZATION -- COMPARING NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [4 & 5] * 
margins ,  at(agency_packing = (0.014702)) over(execlevel) subpop(if pol_align==1) 
margins ,  at(agency_packing = (0.014702)) over(execlevel) subpop(if pol_align==1)  level(90)
*
* IDEOLOGICALLY ALIGNED AGENCIES: HIGH APPOINTEE POLITICIZATION -- PREDICTED PROBABILITY DIFFERENCE BETWEEN NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [6] * 
margins ,  at(agency_packing = (0.014702)) over(execlevel) subpop(if pol_align==1) pwcompare
margins ,  at(agency_packing = (0.014702)) over(execlevel) subpop(if pol_align==1) pwcompare level(90)
*
*
*
* IDEOLOGICALLY ALIGNED AGENCIES: PREDICTED PROBABILITY DIFFERENCE BETWEEN HIGH & LOW APPOINTEE POLITICIZATION FOR BOTH NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [7 & 8] * 
margins ,  at(agency_packing = (-0.0641362)) at(agency_packing = (0.014702)) over(execlevel) subpop(if pol_align==1) contrast(atcontrast(r._at))
margins ,  at(agency_packing = (-0.0641362)) at(agency_packing = (0.014702)) over(execlevel) subpop(if pol_align==1) contrast(atcontrast(r._at)) level(90)
*



********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
 
  
  

*** A3.1.2 PRESIDENTIAL OPPOSED AGENCIES: EVALUATED AT 10TH PCTILE [LOW POLITICIZATION] & AND 90TH PCTILE [HIGH POLITICIZATION] VALUES OF WITHINAGENCY_PACKING ///
***     [N = 351,212] 

* Compute within-agency & overall distribution of agency_packing 'moderator' covariate *
sum withinagency_packing if e(sample) & pol_opposed==1, detail
sum agency_packing if e(sample) & pol_opposed==1, detail
*
 
 
** Compute Marginal Effects at Three Distinct Values of Within-Agency Distribution of agency_packing 'moderator': ///
** 10th Percentile (LOW) & 90TH Percentile [HIGH]


* IDEOLOGICALLY OPPOSED AGENCIES: LOW APPOINTEE POLITICIZATION -- COMPARING NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [9 & 10] * 
margins ,  at(agency_packing = (-0.0641362)) over(execlevel) subpop(if pol_opposed==1) 
margins ,  at(agency_packing = (-0.0641362)) over(execlevel) subpop(if pol_opposed==1)  level(90)
*
* IDEOLOGICALLY OPPOSED AGENCIES: LOW APPOINTEE POLITICIZATION -- PREDICTED PROBABILITY DIFFERENCE BETWEEN NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [11]* 
margins ,  at(agency_packing = (-0.0641362)) over(execlevel) subpop(if pol_opposed==1) pwcompare
margins ,  at(agency_packing = (-0.0641362)) over(execlevel) subpop(if pol_opposed==1) pwcompare level(90)
*
*
*
* IDEOLOGICALLY OPPOSED AGENCIES: HIGH APPOINTEE POLITICIZATION -- COMPARING NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [12 & 13] * 
margins ,  at(agency_packing = (0.1597132)) over(execlevel) subpop(if pol_opposed==1) 
margins ,  at(agency_packing = (0.1597132)) over(execlevel) subpop(if pol_opposed==1)  level(90)
*
* IDEOLOGICALLY OPPPOSED AGENCIES: HIGH APPOINTEE POLITICIZATION -- PREDICTED PROBABILITY DIFFERENCE BETWEEN NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [14] * 
margins ,  at(agency_packing = (0.1597132)) over(execlevel) subpop(if pol_opposed==1) pwcompare
margins ,  at(agency_packing = (0.1597132)) over(execlevel) subpop(if pol_opposed==1) pwcompare level(90)
*
*
*
* IDEOLOGICALLY OPPOSED AGENCIES: PREDICTED PROBABILITY DIFFERENCE BETWEEN HIGH & LOW APPOINTEE POLITICIZATION FOR BOTH NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [15 & 16] * 
margins ,  at(agency_packing = (-0.0641362)) at(agency_packing = (0.1597132)) over(execlevel) subpop(if pol_opposed==1) contrast(atcontrast(r._at))
margins ,  at(agency_packing = (-0.0641362)) at(agency_packing = (0.1597132)) over(execlevel) subpop(if pol_opposed==1) contrast(atcontrast(r._at)) level(90)
*
*



* FIGURE A3.2A [IDEOLOGICALLY ALIGNED AGENCIES] -- PLACEMENT OF ESTIMATES: 1  2  3      4  5  6     7  8
* FIGURE A3.2B [IDEOLOGICALLY OPPOSED AGENCIES] -- PLACEMENT OF ESTIMATES: 9 10 11     12 13 14    15 16

*** FOR FIGURES A3.3A & A3.3B -- CONVERT ESTIMATES 3, 6, 7, & 8 [IDEOLOGICALLY ALIGNED]  PLUS 11, 14, 15 & 16 [IDEOLOGICALLY OPPOSED] IN TERMS OF THE FOLLOWING: (A) PREDICTED NUMBER OF CONTRACTS AFFECTED AMONG LOW RISK CONTRACTS IN
*                                SAMPLE, (B) PREDICTED TOTAL MONETARY VALUE AFFECTED AMONG LOW RISK CONTRACTS IN SAMPLE, & (C) PREDICTED PROPORTION OF MONETARY VALUE AFFECTED AMONG LOW RISK CONTRACTS IN SAMPLE  

* FIGURE A3.3A [IDEOLOGICALLY ALIGNED AGENCIES] -- PLACEMENT OF ESTIMATES:  3(A-C)    6(A-C)          7(A-C)    8(A-C)
* FIGURE A3.3B [IDEOLOGICALLY OPPOSED AGENCIES] -- PLACEMENT OF ESTIMATES: 11(A-C)   14(A-C)         15(A-C)   16(A-C) 


*** A: PREDICTED NUMBER OF CONTRACTS AFFECTED: This is computed as marginal probability effect × number of multiple bid and fixed cost procurements in the regression sample, conditional on both a given president-agency ideological configuration [ALIGN/NEUTRAL/OPPOSED] and organizational level for procurement agreements [EXECUTIVE LEVEL/NON-EXECUTIVE LEVEL].

*
*

*** B: PREDICTED CONSTANT DOLLAR VALUE IMPACT: Predicated by Predicted Number of Multiple Bid and Fixed Cost Contracts Affected Relative to the total 2009 constant dollar value of these subset of observations in the regression sample [E.G., ALIGNED | EXECUTIVE LEVEL;  ALIGNED | NON-EXECUTIVE LEVEL; ETC....].

*
*

*** C: PREDICTED PROPORTIONAL CONSTANT DOLLAR VALUE IMPACT [i.e., B] RELATIVE TO SUM/TOTAL OF ALL SAMPLE CONTRACTS OF LOW GOVERNMENT RISK: 


**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************




*** HIGH RISK CONTRACTUAL DESIGNS FROM U.S. FEDERAL GOVERNMENT'S PERSPECTIVE AS A "BUYER" ***




** 2.  FULLY BENEFICIAL TERMS FOR SELLER/CONTRACTOR: [N = 1,095,646] **
**     SINGLE BIDS [CLOSED PROCESS] & VARIABLE COST CONTRACTS [COST PLUS, TIME & MATERIALS, & LABOR] **

probit m00closed c.agency_packing##execlevel##pol_align  c.agency_packing##execlevel##pol_opposed  perc_prof  selin1_abszero  selin2_abszero unified lnannualrevenue_adj house_app house_ways house_majority  close_congelect_dist  dod dc_area goods_services lnvendorsum_adj lndollarsobligated_adj   pres_donor_pac lnpres_donor_pac_amount_adj i.agency yearfe2 yearfe3 yearfe4 yearfe5 yearfe6 yearfe7 yearfe8 yearfe9 yearfe10 yearfe11 yearfe12 yearfe13 yearfe14 yearfe15 yearfe16  i.psc_id  if set_aside==0, vce(cluster agency)
*
estat ic
*
*
*

*** FIGURES A3.4 & A3.5 ***


*** A3.2.1 PRESIDENTIAL ALIGNED AGENCIES: EVALUATED AT 10TH PCTILE [LOW POLITICIZATION] & 90TH PCTILE [HIGH POLITICIZATION] VALUES OF WITHINAGENCY_PACKING ///
***     [N = 153,156] ***

** Compute Marginal Effects at Three Distinct Values of Within-Agency Distribution of agency_packing 'moderator': ///
** 10th Percentile (LOW)  & 90TH Percentile [HIGH]

* IDEOLOGICALLY ALIGNED AGENCIES: LOW APPOINTEE POLITICIZATION -- COMPARING NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [1 & 2] * 
margins ,  at(agency_packing = (-0.0641362)) over(execlevel) subpop(if pol_align==1) 
margins ,  at(agency_packing = (-0.0641362)) over(execlevel) subpop(if pol_align==1)  level(90)
*
* IDEOLOGICALLY ALIGNED AGENCIES: LOW APPOINTEE POLITICIZATION -- PREDICTED PROBABILITY DIFFERENCE BETWEEN NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [3]* 
margins ,  at(agency_packing = (-0.0641362)) over(execlevel) subpop(if pol_align==1) pwcompare
margins ,  at(agency_packing = (-0.0641362)) over(execlevel) subpop(if pol_align==1) pwcompare level(90)
*
*
*
* IDEOLOGICALLY ALIGNED AGENCIES: HIGH APPOINTEE POLITICIZATION -- COMPARING NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [4 & 5] * 
margins ,  at(agency_packing = (0.014702)) over(execlevel) subpop(if pol_align==1) 
margins ,  at(agency_packing = (0.014702)) over(execlevel) subpop(if pol_align==1)  level(90)
*
* IDEOLOGICALLY ALIGNED AGENCIES: HIGH APPOINTEE POLITICIZATION -- PREDICTED PROBABILITY DIFFERENCE BETWEEN NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [6] * 
margins ,  at(agency_packing = (0.014702)) over(execlevel) subpop(if pol_align==1) pwcompare
margins ,  at(agency_packing = (0.014702)) over(execlevel) subpop(if pol_align==1) pwcompare level(90)
*
*
*
* IDEOLOGICALLY ALIGNED AGENCIES: PREDICTED PROBABILITY DIFFERENCE BETWEEN HIGH & LOW APPOINTEE POLITICIZATION FOR BOTH NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [7 & 8] * 
margins ,  at(agency_packing = (-0.0641362)) at(agency_packing = (0.014702)) over(execlevel) subpop(if pol_align==1) contrast(atcontrast(r._at))
margins ,  at(agency_packing = (-0.0641362)) at(agency_packing = (0.014702)) over(execlevel) subpop(if pol_align==1) contrast(atcontrast(r._at)) level(90)
*



********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
 
  

*** A3.2.2 PRESIDENTIAL OPPOSED AGENCIES: EVALUATED AT 10TH PCTILE [LOW POLITICIZATION] & AND 90TH PCTILE [HIGH POLITICIZATION] VALUES OF WITHINAGENCY_PACKING ///
***     [N = 349,619] 

* Compute within-agency & overall distribution of agency_packing 'moderator' covariate *
sum withinagency_packing if e(sample) & pol_opposed==1, detail
sum agency_packing if e(sample) & pol_opposed==1, detail
*
 
 
** Compute Marginal Effects at Three Distinct Values of Within-Agency Distribution of agency_packing 'moderator': ///
** 10th Percentile (LOW) & 90TH Percentile [HIGH]


* IDEOLOGICALLY OPPOSED AGENCIES: LOW APPOINTEE POLITICIZATION -- COMPARING NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [9 & 10] * 
margins ,  at(agency_packing = (-0.0641362)) over(execlevel) subpop(if pol_opposed==1) 
margins ,  at(agency_packing = (-0.0641362)) over(execlevel) subpop(if pol_opposed==1)  level(90)
*
* IDEOLOGICALLY OPPOSED AGENCIES: LOW APPOINTEE POLITICIZATION -- PREDICTED PROBABILITY DIFFERENCE BETWEEN NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [11]* 
margins ,  at(agency_packing = (-0.0641362)) over(execlevel) subpop(if pol_opposed==1) pwcompare
margins ,  at(agency_packing = (-0.0641362)) over(execlevel) subpop(if pol_opposed==1) pwcompare level(90)
*
*
*
* IDEOLOGICALLY OPPOSED AGENCIES: HIGH APPOINTEE POLITICIZATION -- COMPARING NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [12 & 13] * 
margins ,  at(agency_packing = (0.1597132)) over(execlevel) subpop(if pol_opposed==1) 
margins ,  at(agency_packing = (0.1597132)) over(execlevel) subpop(if pol_opposed==1)  level(90)
*
* IDEOLOGICALLY OPPPOSED AGENCIES: HIGH APPOINTEE POLITICIZATION -- PREDICTED PROBABILITY DIFFERENCE BETWEEN NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [14] * 
margins ,  at(agency_packing = (0.1597132)) over(execlevel) subpop(if pol_opposed==1) pwcompare
margins ,  at(agency_packing = (0.1597132)) over(execlevel) subpop(if pol_opposed==1) pwcompare level(90)
*
*
*
* IDEOLOGICALLY OPPOSED AGENCIES: PREDICTED PROBABILITY DIFFERENCE BETWEEN HIGH & LOW APPOINTEE POLITICIZATION FOR BOTH NON-EXECUTIVE & EXECUTIVE LEVEL CONTRACTING DECISIONS [15 & 16] * 
margins ,  at(agency_packing = (-0.0641362)) at(agency_packing = (0.1597132)) over(execlevel) subpop(if pol_opposed==1) contrast(atcontrast(r._at))
margins ,  at(agency_packing = (-0.0641362)) at(agency_packing = (0.1597132)) over(execlevel) subpop(if pol_opposed==1) contrast(atcontrast(r._at)) level(90)
*
*




* FIGURE A3.4A [IDEOLOGICALLY ALIGNED AGENCIES] -- PLACEMENT OF ESTIMATES: 1  2  3      4  5  6     7  8
* FIGURE A3.4B [IDEOLOGICALLY OPPOSED AGENCIES] -- PLACEMENT OF ESTIMATES: 9 10 11     12 13 14    15 16

*** FOR FIGURES A3.5A & A3.5B -- CONVERT ESTIMATES 3, 6, 7, & 8 [IDEOLOGICALLY ALIGNED]  PLUS 11, 14, 15 & 16 [IDEOLOGICALLY OPPOSED] IN TERMS OF THE FOLLOWING: (A) PREDICTED NUMBER OF CONTRACTS AFFECTED AMONG LOW RISK CONTRACTS IN
*                                SAMPLE, (B) PREDICTED TOTAL MONETARY VALUE AFFECTED AMONG LOW RISK CONTRACTS IN SAMPLE, & (C) PREDICTED PROPORTION OF MONETARY VALUE AFFECTED AMONG LOW RISK CONTRACTS IN SAMPLE  

* FIGURE A3.5A [IDEOLOGICALLY ALIGNED AGENCIES] -- PLACEMENT OF ESTIMATES:  3(A-C)    6(A-C)          7(A-C)    8(A-C)
* FIGURE A3.5B [IDEOLOGICALLY OPPOSED AGENCIES] -- PLACEMENT OF ESTIMATES: 11(A-C)   14(A-C)         15(A-C)   16(A-C) 


*** A: PREDICTED NUMBER OF CONTRACTS AFFECTED: This is computed as marginal probability effect × number of multiple bid and fixed cost procurements in the regression sample, conditional on both a given president-agency ideological configuration [ALIGN/NEUTRAL/OPPOSED] and organizational level for procurement agreements [EXECUTIVE LEVEL/NON-EXECUTIVE LEVEL].

*
*

*** B: PREDICTED CONSTANT DOLLAR VALUE IMPACT: Predicated by Predicted Number of Multiple Bid and Fixed Cost Contracts Affected Relative to the total 2009 constant dollar value of these subset of observations in the regression sample [E.G., ALIGNED | EXECUTIVE LEVEL;  ALIGNED | NON-EXECUTIVE LEVEL; ETC....].

*
*

*** C: PREDICTED PROPORTIONAL CONSTANT DOLLAR VALUE IMPACT [i.e., B] RELATIVE TO SUM/TOTAL OF ALL SAMPLE CONTRACTS OF HIGH GOVERNMENT RISK: 


 
 
 

*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************




log close
